package com.redhat.gss.jaxws;
import java.util.Map;
import java.util.List;
import org.apache.cxf.binding.soap.SoapBindingConstants;
import org.apache.cxf.binding.soap.SoapMessage;
import org.apache.cxf.helpers.CastUtils;
import org.apache.cxf.interceptor.Fault;
import org.apache.cxf.message.Message;
import org.apache.cxf.phase.AbstractPhaseInterceptor;
import org.apache.cxf.phase.Phase;
public class RemoveSoapActionInterceptor<T extends Message> extends AbstractPhaseInterceptor<T> {
public RemoveSoapActionInterceptor() {
super(Phase.RECEIVE);
}
public void handleMessage(Message m) throws Fault {
if (!(m instanceof SoapMessage)) {
return;
}
SoapMessage message = (SoapMessage)m;
Map<String, List<String>> headers = CastUtils.cast((Map<?, ?>)message.get(Message.PROTOCOL_HEADERS));
if (headers != null) {
headers.remove(SoapBindingConstants.SOAP_ACTION);
}
}
}